// 前后端不分离----数据在后端已经完成渲染
// 1、创建请求
const http = require('http');
// 2、cherrio对html字符串进行结构分析
const download = require('download');
const cheerio = require('cheerio');
const HOST = 'http://www.bhu.edu.cn';
let targetUrl = 'http://www.bhu.edu.cn/';
let jsArr = [];
// 创建请求客户端对象
let req = http.request(targetUrl, (req) => {
    let chunks = [];
    req.on('data', function(chunk) {
        chunk && chunks.push(chunk);
    });
    req.on('end', () => {
        let html = Buffer.concat(chunks).toString('utf-8');
        // console.log('获取的全部数据：', html);
        // 通过cherrio进行网站数据分析
        const $ = cheerio.load(html);
        let srcs = $('script');
        // console.log('获取的全部数据：', $.html());
        srcs.each((index, item) => {
            item.attribs.src && jsArr.push(HOST + encodeURI(item.attribs.src));
        });
        console.log(jsArr);
        // 批量下载
        Promise.all(jsArr.map(x=> {
            download(x, 'download/js');
        })).then(_ => {
            console.log('js全部下载完成');
        })
    })
});
// 发送请求
req.end();
// 3、进行下载或者保存需要的数据